package com.ymatou.shop.util;

import java.io.File;

/**
 * 
 * 包含文件处理方法的工具类。
 * 
 * @since 1.6
 * @version 1.0.0 2010-11-06
 */
public class FileUtil {
	
	public static String getFileSubfix(String filename) {
		int subfixBegin = filename.lastIndexOf('.');
		int lastPartBegin = filename.lastIndexOf('/');
		
		if (subfixBegin > lastPartBegin) {
			return filename.substring(subfixBegin).toLowerCase();
		} else {
			return StringUtil.EMPTY_STRING;
		}
	}
	
	
	/**
     * 删除给定的 {@code file}。如果 {@code file} 表示一个文件目录，则删除它及它包含的所有子目录和文件。
     * <p />
     * <strong>注意：此方法一旦执行将无法取消，它将删除指定的文件或目录下的所有文件，请慎用。</strong>
     * 
     * @param file 要删除的 {@code File}。
     */
	public static boolean deleteFile(File file) {
		boolean result = true;
		if (file.exists()) {
			if (file.isDirectory()) {
				File[] files = file.listFiles();
				for (int i = 0, count = files.length; i < count; i++) {
					result &= deleteFile(files[i]);
				}
				result &= file.delete(); // Delete empty directory.
			} else {
				result &= file.delete();
			}
			return result;
		} else {
			return false;
		}
	}
}
